package com.bsoft.gol.hcs.visitrecord.bean.vo;

import com.bsoft.gol.hcs.specialist.entity.InspectReportMicrobeRecordEntity;
import com.bsoft.gol.hcs.specialist.entity.InspectReportMicrobeResultEntity;
import com.bsoft.gol.hcs.specialist.entity.InspectReportRoutineDetailEntity;

import javax.xml.bind.annotation.XmlElement;
import javax.xml.bind.annotation.XmlElementWrapper;
import javax.xml.bind.annotation.XmlRootElement;
import java.sql.Date;
import java.util.List;

/**
 * 检验报告返参实体类
 * @author lanyu
 * @date 2021年11月01日 19:32
 */
@XmlRootElement(name = "InspectionTestRecord")
public class InspectReportRecordVo {

    /**
     * 检验报告id
     */
    private String inspectReportRecordId;

    /**
     * 业务系统患者档案id
     */
    private String sourcePatientId;
    /**
     * 就诊机构代码
     */
    private String visitOrganization;
    /**
     * 就诊机构名称
     */
    private String visitOrganizationName;
    /**
     * 业务类型代码 1门诊、2住院
     */
    private String businessType;
    /**
     * 业务记录号
     */
    private String businessId;
    /**
     * 患者类型代码
     */
    private String patientType;
    /**
     * 患者姓名
     */
    private String name;

    /**
     * 身份证号码
     */
    private String idCard;
    /**
     * 患者性别代码
     */
    private String sex;
    /**
     * 年龄
     */
    private String ageValue;
    /**
     * 年龄单位
     */
    private String ageUnit;
    /**
     * 就诊流水号
     */
    private String visitId;
    /**
     * 门（急）诊号
     */
    private String clinicId;
    /**
     * 住院号
     */
    private String hospizationId;
    /**
     * 检验标本号
     */
    private String sampleNo;
    /**
     * 检验报告单编号
     */
    private String reportId;
    /**
     * 检验项目名称
     */
    private String labOrderItemName;
    /**
     * 检验报告结果状态 报告状态，0无数据 1有数据 2已核对（初审） 3已取消审核 4已审核 5已报告
     */
    private String reportResultStatus;
    /**
     * 标本检验日期
     */
    private String sampleTestTime;
    /**
     * 检验报告日期
     */
    private String reportTime;
    /**
     * 检验申请科室
     */
    private String requestDept;
    /**
     * 申请科室名称
     */
    private String requestDeptName;
    /**
     * 检验申请医师代码
     */
    private String requestDoctorCode;
    /**
     * 检验申请医师姓名
     */
    private String requestDoctorName;
    /**
     * 检验报告科室
     */
    private String reportDept;
    /**
     * 报告审核时间
     */
    private String reportCheckTime;
    /**
     * 审核医师签名
     */
    private String reportChecker;
    /**
     * 报告医师签名
     */
    private String reportDoctor;
    /**
     * 标本类别编码
     */
    private String sampleTypeCode;
    /**
     * 标本类别名称
     */
    private String sampleTypeName;
    /**
     * 标本状态 检验标本状态，如溶血、脂血
     */
    private String sampleState;
    /**
     * 检验报告审核意见
     */
    private String reportCheckOpinion;
    /**
     * 报告类型 1.常规报告 5.微生物报告
     */
    private String reportType;
    /**
     * 删除标志
     */
    private String deleteFlag;
    /**
     * 创建时间
     */
    private Date createTime;
    /**
     * 修改时间
     */
    private Date modifyTime;
    /**
     * 结果详情
     */
    private List<InspectReportRoutineDetailEntity> resultDetails;
    private List<InspectReportMicrobeResultEntity> plantResult;
    private List<InspectReportMicrobeRecordEntity> bioResults;

    public String getInspectReportRecordId() {
        return inspectReportRecordId;
    }

    public void setInspectReportRecordId(String inspectReportRecordId) {
        this.inspectReportRecordId = inspectReportRecordId;
    }

    @XmlElement(name = "SourcePatientId")
    public String getSourcePatientId() {
        return sourcePatientId;
    }

    public void setSourcePatientId(String sourcePatientId) {
        this.sourcePatientId = sourcePatientId;
    }

    @XmlElement(name = "VisitOrganization")
    public String getVisitOrganization() {
        return visitOrganization;
    }

    public void setVisitOrganization(String visitOrganization) {
        this.visitOrganization = visitOrganization;
    }
    @XmlElement(name = "VisitOrganizationName")
    public String getVisitOrganizationName() {
        return visitOrganizationName;
    }

    public void setVisitOrganizationName(String visitOrganizationName) {
        this.visitOrganizationName = visitOrganizationName;
    }
    @XmlElement(name = "BusType")
    public String getBusinessType() {
        return businessType;
    }

    public void setBusinessType(String businessType) {
        this.businessType = businessType;
    }

    public String getBusinessId() {
        return businessId;
    }

    public void setBusinessId(String businessId) {
        this.businessId = businessId;
    }
    @XmlElement(name = "PatientType")
    public String getPatientType() {
        return patientType;
    }

    public void setPatientType(String patientType) {
        this.patientType = patientType;
    }
    @XmlElement(name = "Name")
    public String getName() {
        return name;
    }

    public void setName(String name) {
        this.name = name;
    }
    @XmlElement(name = "IdCard")
    public String getIdCard() {
        return idCard;
    }

    public void setIdCard(String idCard) {
        this.idCard = idCard;
    }
    @XmlElement(name = "Sex")
    public String getSex() {
        return sex;
    }

    public void setSex(String sex) {
        this.sex = sex;
    }
    @XmlElement(name = "AgeValue")
    public String getAgeValue() {
        return ageValue;
    }

    public void setAgeValue(String ageValue) {
        this.ageValue = ageValue;
    }
    @XmlElement(name = "AgeUnit")
    public String getAgeUnit() {
        return ageUnit;
    }

    public void setAgeUnit(String ageUnit) {
        this.ageUnit = ageUnit;
    }
    @XmlElement(name = "VisitId")
    public String getVisitId() {
        return visitId;
    }

    public void setVisitId(String visitId) {
        this.visitId = visitId;
    }
    @XmlElement(name = "ClinicId")
    public String getClinicId() {
        return clinicId;
    }

    public void setClinicId(String clinicId) {
        this.clinicId = clinicId;
    }
    @XmlElement(name = "HospizationId")
    public String getHospizationId() {
        return hospizationId;
    }

    public void setHospizationId(String hospizationId) {
        this.hospizationId = hospizationId;
    }
    @XmlElement(name = "SampleNo")
    public String getSampleNo() {
        return sampleNo;
    }

    public void setSampleNo(String sampleNo) {
        this.sampleNo = sampleNo;
    }
    @XmlElement(name = "ReportId")
    public String getReportId() {
        return reportId;
    }

    public void setReportId(String reportId) {
        this.reportId = reportId;
    }
    @XmlElement(name = "LabOrderItemName")
    public String getLabOrderItemName() {
        return labOrderItemName;
    }

    public void setLabOrderItemName(String labOrderItemName) {
        this.labOrderItemName = labOrderItemName;
    }
    @XmlElement(name = "ReportResultStatus")
    public String getReportResultStatus() {
        return reportResultStatus;
    }

    public void setReportResultStatus(String reportResultStatus) {
        this.reportResultStatus = reportResultStatus;
    }
    @XmlElement(name = "SampleTestTime")
    public String getSampleTestTime() {
        return sampleTestTime;
    }

    public void setSampleTestTime(String sampleTestTime) {
        this.sampleTestTime = sampleTestTime;
    }
    @XmlElement(name = "ReportTime")
    public String getReportTime() {
        return reportTime;
    }

    public void setReportTime(String reportTime) {
        this.reportTime = reportTime;
    }
    @XmlElement(name = "RequestDept")
    public String getRequestDept() {
        return requestDept;
    }

    public void setRequestDept(String requestDept) {
        this.requestDept = requestDept;
    }
    @XmlElement(name = "RequestDeptName")
    public String getRequestDeptName() {
        return requestDeptName;
    }

    public void setRequestDeptName(String requestDeptName) {
        this.requestDeptName = requestDeptName;
    }
    @XmlElement(name = "RequestDoctorCode")
    public String getRequestDoctorCode() {
        return requestDoctorCode;
    }

    public void setRequestDoctorCode(String requestDoctorCode) {
        this.requestDoctorCode = requestDoctorCode;
    }
    @XmlElement(name = "RequestDoctorName")
    public String getRequestDoctorName() {
        return requestDoctorName;
    }

    public void setRequestDoctorName(String requestDoctorName) {
        this.requestDoctorName = requestDoctorName;
    }
    @XmlElement(name = "ReportDept")
    public String getReportDept() {
        return reportDept;
    }

    public void setReportDept(String reportDept) {
        this.reportDept = reportDept;
    }
    @XmlElement(name = "ReportCheckTime")
    public String getReportCheckTime() {
        return reportCheckTime;
    }

    public void setReportCheckTime(String reportCheckTime) {
        this.reportCheckTime = reportCheckTime;
    }
    @XmlElement(name = "ReportChecker")
    public String getReportChecker() {
        return reportChecker;
    }

    public void setReportChecker(String reportChecker) {
        this.reportChecker = reportChecker;
    }
    @XmlElement(name = "ReportDoctor")
    public String getReportDoctor() {
        return reportDoctor;
    }

    public void setReportDoctor(String reportDoctor) {
        this.reportDoctor = reportDoctor;
    }
    public String getSampleTypeCode() {
        return sampleTypeCode;
    }

    public void setSampleTypeCode(String sampleTypeCode) {
        this.sampleTypeCode = sampleTypeCode;
    }
    @XmlElement(name = "SampleTypeName")
    public String getSampleTypeName() {
        return sampleTypeName;
    }

    public void setSampleTypeName(String sampleTypeName) {
        this.sampleTypeName = sampleTypeName;
    }
    @XmlElement(name = "SampleState")
    public String getSampleState() {
        return sampleState;
    }

    public void setSampleState(String sampleState) {
        this.sampleState = sampleState;
    }
    @XmlElement(name = "ReportCheckOpinion")
    public String getReportCheckOpinion() {
        return reportCheckOpinion;
    }

    public void setReportCheckOpinion(String reportCheckOpinion) {
        this.reportCheckOpinion = reportCheckOpinion;
    }
    public String getReportType() {
        return reportType;
    }

    public void setReportType(String reportType) {
        this.reportType = reportType;
    }
    public String getDeleteFlag() {
        return deleteFlag;
    }

    public void setDeleteFlag(String deleteFlag) {
        this.deleteFlag = deleteFlag;
    }
    public Date getCreateTime() {
        return createTime;
    }

    public void setCreateTime(Date createTime) {
        this.createTime = createTime;
    }

    public Date getModifyTime() {
        return modifyTime;
    }

    public void setModifyTime(Date modifyTime) {
        this.modifyTime = modifyTime;
    }
    @XmlElementWrapper(name = "TestResults")
    @XmlElement(name = "TestResult")
    public List<InspectReportRoutineDetailEntity> getResultDetails() {
        return resultDetails;
    }

    public void setResultDetails(List<InspectReportRoutineDetailEntity> resultDetails) {
        this.resultDetails = resultDetails;
    }
    @XmlElementWrapper(name = "PlantResults")
    @XmlElement(name = "PlantResult")
    public List<InspectReportMicrobeResultEntity> getPlantResult() {
        return plantResult;
    }

    public void setPlantResult(List<InspectReportMicrobeResultEntity> plantResult) {
        this.plantResult = plantResult;
    }
    @XmlElementWrapper(name = "BioResults")
    @XmlElement(name = "BioResult")
    public List<InspectReportMicrobeRecordEntity> getBioResults() {
        return bioResults;
    }

    public void setBioResults(List<InspectReportMicrobeRecordEntity> bioResults) {
        this.bioResults = bioResults;
    }
}
